/**
 * @Author: Aerospace
 * @Date: 2021/5/18 11:46
 * @Description: Dream begins
 *
 * 给定一个字符串，请你找出其中不含有重复字符的 最长子串 的长度。
 *
 *
 */
public class LengthOfLongestSubstring {
    public int LengthOfLongestSubstring(String s) {
        if (s==null||s.length()==0) return 0;
        int max = 1;
        int start = 0;
        for(int end = 0;end<s.length()-1;end++){
            //获取当前窗口
            String window = s.substring(start,end+1);
            //下一个字符索引
            int nextindex = end + 1;
            //获取当前窗口的下一个字符
            char c = s.charAt(nextindex);
            int index = window.indexOf(c);
            //如果当前窗口的下一个字符c在当前窗口中
            if(index!=-1){
                start  = index + 1+ start;
            }
            max = Math.max(max,nextindex-start+1);
        }
        return max;
    }
}
